iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
1

哈嘍,大家好

今天終於來面對分支這個大魔王惹XDDDD

分支(branch)

之前我們常看到 master(主幹) 就是一個網站上的主要版本。

小劇場

例如我們 火箭隊的小夥伴們 有分前後端,假如我們今天要協同合作一個專案,就要好好的了解分支如何使用。

那麼分支是殺毀?

我們今天每一次的 commit 就是一個新的版本紀錄,像我們今天是一個小團隊,如果我今天只是新增了一個 html 的檔案,所有的火箭隊的夥伴們都會看到。 但有時候我只是想新增一個檔案或修改某某 bug 而已,就這樣重新整理然後 commit 上去,啊如果東西被我改壞掉,不就是上傳了壞掉的 commit 版本了嘛,這樣很母湯欸...

所以,為了保持 master 的程式碼是乾淨且正常的 commit 版本,以避免影響專案的穩定性,我們就可以開 分支 去做開發。
在這個分支上我們就可以去做更新的動作,每次的更新都會有歷史紀錄儲存,並不會引響到 commit 版本上。
待確認好、開發完沒問題後就會進行 合併


HEAD

簡單來說就是 目前所在位置的指標 。在 .git 上有個目錄就是紀錄 HEAD
【Git與GitHub】什麼是分支、HEAD

那我們可以看下面這張圖,當我們第一次 commit 後會得到第一版。這時會看到有 masterHEAD
【Git與GitHub】什麼是分支、HEAD

那我再 commit 一次,會看到 masterHEAD 跑到第二個去了。
【Git與GitHub】什麼是分支、HEAD

如果我今天想看第一版的內容的話,只需要把 HEAD 切換到第一版就可看到惹~
【Git與GitHub】什麼是分支、HEAD

我該如何做到呢


Step 1.

打開終端機,並輸入以下指令

  1. mkdir 目錄
  2. git init
  3. touch 檔案
  4. git add .
  5. git commit -m "修改紀錄"

【Git與GitHub】什麼是分支、HEAD

Step 2.

接著輸入 git branch (瀏覽目前分支)

會發現多一個新的 master 的分支(預設都是master),master前面的 * 代表在這個分支上面。
git branch


Step 3.

接下來我編輯了我的 index.html 的檔案,使用 git status 查詢狀態會顯示被修改(modified)
git status查詢狀態

接著再去做一次上述的第4、第5的動作
git add . git commit -m

Step 4.

使用 git log 查詢版本紀錄
git log 查詢版本紀錄

如果我想看第一版紀錄是什麼的話,也就是說將 HEAD 指定到第一個版本去。
使用 git checkout 前四碼(識別碼) 就可以回到過去嚕!
git checkout 前四碼(識別碼

好的,問題來惹,
怎麼回到現在呢?
別怕, 使用 git checkout master 就可以復原嘍!
git checkout master 切換分支

是不是覺得 hen 厲害~


有沒有發現 git checkout 很熟悉? 對~~~前幾篇他的出現機率頗高der,只是前幾天的操作是救回檔案。

Day12【Git與GitHub】工作狀態還原
Day16【Git與GitHub】Git 雜學(二)

git checkout 也有切換分支的意思喲 ξ( ✿>◡❛)


上一篇
Day18【Git與GitHub】Github 實用插件流程&個人網站上線
下一篇
Day20【Git與GitHub】git branch 創立分支
系列文
Git與Github-30天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言